Runtime balicky - k cemu to je? (WAS: Re: Formulare)

Otázka od: js-delphi@quick.cz

1. 12. 2003 10:30

Od: Tomas Rosa <trosa@seznam.cz>
> > > Pokud neni DLL i hostujici aplikace
> prelozena s runtime balicky
> > > tak mezi nimi
> >
> >Muzes byt konkretnejsi? : 
>
> Jinak Project -> Options -> Packages -> [x]
> Build with runtime packages

Ahoj.
Mam zrejem naprosto zakladni dotaz, ale na druhou stranu aspon dostanu hodne
dopovedi  
K cemu je mi volba "build with runtime packages" ??? Nikdy jsem to zatim
nepouzil. Na zaklade odpovedi k puvodnimu dotazu "formulare" uz trochu tusim,
ale prece jen bych to potreboval trochu vic "polopate"  
Diky
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1
programator amater


Odpovedá: Bronislav Klucka

1. 12. 2003 13:58

> Ahoj.
> Mam zrejem naprosto zakladni dotaz, ale na druhou stranu aspon
> dostanu hodne dopovedi  
> K cemu je mi volba "build with runtime packages" ??? Nikdy jsem
> to zatim nepouzil. Na zaklade odpovedi k puvodnimu dotazu
> "formulare" uz trochu tusim, ale prece jen bych to potreboval
> trochu vic "polopate"  
> Diky
> Jirka

Zdar,
doufam,ze se nebudu milit, pokud reknu:
Mezi aplikazi a dll si muzes predavat pouze "standardni promenne windows"
(pointry, integery, pchary), nemuzes si predat napr. formular, nebo button,
neexistuje zpusob, jakym bys Woknum ukazal, jak si je predavat, pokud zadas
build with RT packages, musis s produktem dodavat i balicky v delphi (soubor
deploy.txt v adresari delphi), vysledna aplikace ale bude mnohem mensi,
jelikoz sama nebude obsahovat potrebne definice methot a konstant a balicky
Ti umozni predavat komponenty nich umistene.
Pokud se mylim, Tomas Rosa, nebo nekdo jiny me urcite opravi : 


Brona


Odpovedá: Petr Vones

1. 12. 2003 16:08

From: "Bronislav Klucka" <bronislav.klucka@pro2-soft.com>
> Mezi aplikazi a dll si muzes predavat pouze "standardni promenne windows"
> (pointry, integery, pchary), nemuzes si predat napr. formular, nebo button,
> neexistuje zpusob, jakym bys Woknum ukazal, jak si je predavat, pokud zadas

S tim nema operacni system vubec nic spolecneho, ten o nejakych objektech v
Delphi nebo C++ vubec nevi. Vsechno jsou to jen data, na ktere ukazuji nejake
pointery. Jedina trochu podobna technologie kterou zna je COM.

Objekty v Delphi (a C++) jsou proprietalni reseni vyrobcu kompilatoru.
Operacni system o nich nic nevi, neexistuje zadny "binarni standard" jak
vytvaret informace o objektech (s vyjimkou COM technologie). Jelikoz vznikla
potreba (prinejmensim pro Delphi IDE) rozdelit kod do vice modulu ovsem pri
zachovani moznosti pouzivani objektu, bylo nutne rozsirit prekladac o podporu
predavani objektu zalozenou na klasickych "flat" importech/exportech DLL. Tato
technologie jsou prave balicky. Balicky umoznuji vytvorit z jednotlivych unitu
logicke celky - balicky, kde kazdy unit muze byt pouze v jednom balicku.
Prekladac je pak schopen generovat kod (pokud se zapne kompilace s balicky)
ktery dokaze pouzit typy z takto vytvorenych DLL (balicku) stejnym zpusobem
jako by se jednalo o unity primo linkovane v aplikaci. Z pohledu programatora
tedy neni rozdil v tom, je-li unit primo v aplikaci nebo v balicku (az na
drobne rozdily tykajici se spise tech co pisi komponenty).

Balicky jsou vlastne neco podobneho jako assembly v .NETu, s tim rozdilem ze
tam se jedna o zakladni prvek systemu a ne o proprietalni technologii vyrobce
prekladace. Tim je umozneno pouzivat jeden kod mezi ruznymi jazyky.

Petr Vones





----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)